Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

136
Views
El objeto de usuario se está llenando pero Auth.currentSession devuelve "No se encontró ningún usuario"

Cuando el usuario hace clic en el botón "iniciar sesión" y si user.challangeName === 'NEW_PASSWORD_REQUIRED' es verdadero, redirijo al usuario a una página (pantalla de formulario) donde puede proporcionar la entrada para los atributos requeridos y una nueva contraseña . Incluso aunque el objeto de usuario se complete al hacer clic en el botón de inicio de sesión, al usar Auth.currentsession en la pantalla del formulario se imprimirá "No se encontró ningún usuario".

¿Alguien puede decirme por qué no veo ningún usuario? ¿Qué estoy haciendo mal aquí?

Aquí está mi función de inicio de sesión (activada cuando se hace clic en el botón de inicio de sesión) donde dirijo al usuario a la pantalla de cambio de contraseña (pantalla de formulario) si user.challangeName === 'NEW_PASSWORD_REQUIRED' es verdadero.

 const login = async (email, password) => { try { const user = await Auth.signIn(email, password); if (user.challengeName === 'NEW_PASSWORD_REQUIRED') { navigate('/change-password'); return; } if (user) { setToken(user.signInUserSession.idToken.jwtToken); const userDetails = await getAccountDetails(); dispatch({ type: LOGIN, payload: { user: { attributes: user.attributes, username: user.username }, client: userDetails } }); } } catch (error) { await logout(); throw error; } };

Aquí está mi función onSubmit en la pantalla de cambio de contraseña donde eventualmente quiero usar Auth.completeNewPassword para actualizar la contraseña del usuario en Cognito

 const onSubmitClick = (e) => { e.preventDefault(); if (validateFields()); Auth.currentSession() .then((user) => console.log(user)) .catch((err) => console.log(err)); };

Aquí está la documentación proporcionada por AWS https://docs.amplify.aws/lib/auth/manageusers/q/platform/js/#forgot-password y el código proporcionado por AWS para actualizar la contraseña

 Auth.signIn(username, password) .then(user => { if (user.challengeName === 'NEW_PASSWORD_REQUIRED') { const { requiredAttributes } = user.challengeParam; // the array of required attributes, eg ['email', 'phone_number'] Auth.completeNewPassword( user, // the Cognito User Object newPassword, // the new password // OPTIONAL, the required attributes { email: 'xxxx@example.com', phone_number: '1234567890' } ).then(user => { // at this time the user is logged in if no MFA required console.log(user); }).catch(e => { console.log(e); }); } else { // other situations } }).catch(e => { console.log(e); });
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Nueva respuesta actualizada para reflejar su publicación actualizada, cambie onSubmitClick a lo siguiente:

 const onSubmitClick = (e) => { e.preventDefault(); if (validateFields()); Auth.currentAuthenticatedUser() .then(user => { console.log(user)) }) .then((data) => console.log(data)) .catch((err) => console.log(err)); };

Está viendo la documentación que muestra cómo usar el usuario después de Auth.signIn() (que fue mi respuesta anterior), en comparación con lo que usa: Auth.currentAuthenticatedUser() . El ejemplo de documentación adecuado que debe consultar es este:https://www.docs.amplify.aws/lib/auth/manageusers/q/platform/js

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!